Storage systems store data according to various corresponding storage architectures. Examples of storage architectures include an object-based storage, tape-based storage, a file system, a block storage, and/or a database.
Object-based storage manages data as objects. Each object is associated with data and metadata. Data includes, for example, information that is used by an end user and/or a business application. As an example, data for a Sales Application may include information about customers, products, and sales. As another example, data for a Human Resources Application may include information about employees, departments, and salaries. Metadata describes how the data is set up and/or stored, or other characteristics about the data itself. Metadata may be used to manipulate and/or manage the objects in a storage system. In an object-based storage system, data is read directly as requested, as opposed to being read in a sequential fashion.
A container (also referred to herein as an object container) stores one or more objects. A container may be, for example, a class, a data structure, or an abstract data type.
A tape drive is a data storage device that reads and writes data to a data storage tape (e.g., a magnetic tape, or a virtual tape volume). Tape-based storage is stable, and is therefore popularly used for offline, archival data storage. A tape drive uses sequential access storage. Thus, a tape drive may need to be physically wound to access a particular piece of data. Data on a tape volume is typically stored in Tape Archive (TAR) format. Typically, a data storage tape has an information region, containing information about what is stored on the tape.
In tape data, as well as other types of data storage, blocks (also referred to herein as “tape blocks”) are commonly used to structure data. A block is a collection of data. Blocked data may be read or written a block at a time, which speeds up data streaming. In the case of magnetic tape storage, blocking also reduces the amount of storage required. Thus, blocking is almost always used for magnetic tape storage.
Thus, tape drives have certain drawbacks associated with reading data sequentially, such as latencies from loading the tape drive to a selected location on the tape. Typically, object-based storage systems do not have these issues, because the data can be accessed directly. However, some latencies are associated with more complex object-based storage systems. For example, multi-tiered storage systems exist, where data may need to be retrieved from a remote location before the data is accessible. The retrieval process can create a delay. Thus, although it seems counterintuitive to import the restrictions of tape drive storage into object-based storage, tape drive systems have capabilities for dealing with long delays that are also applicable to object-based storage systems.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.